package br.com.jbssistemas.loterica.managedbeans;

import br.com.jbssistemas.loterica.daos.CaixaDAO;
import br.com.jbssistemas.loterica.daos.MovimentacaoCaixaDAO;
import br.com.jbssistemas.loterica.entidades.Caixa;
import br.com.jbssistemas.loterica.entidades.MovimentacaoCaixa;
import br.com.jbssistemas.loterica.enums.TipoMovimentacao;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;
import javax.inject.Named;
import javax.faces.view.ViewScoped;

/**
 *
 * @author daniel
 *
 */
@Named(value = "movimentacaoCaixaBean")
@ViewScoped
public class MovimentacaoCaixaBean extends AbstractBean<MovimentacaoCaixa> implements Serializable{

    private List<SelectItem> caixas;
    
    public MovimentacaoCaixaBean() {
        super(MovimentacaoCaixa.class, new MovimentacaoCaixaDAO());
    }
    
    /**
     * get para a propriedade List<SelectItem> caixas
     * 
     * @return Lista de SelectItem
     **/
    public List<SelectItem> getCaixas() {
        
        if(caixas == null){
        
            caixas = new ArrayList<SelectItem>();
            
            for(Caixa c : new CaixaDAO().findAll()){
            
                caixas.add(new SelectItem(c, c.getNome()));
                
            }
                
        }
        
        return caixas;
    }
    
    public TipoMovimentacao[] getTiposMovimentacoes(){
    
        return TipoMovimentacao.values();
        
    }
    
}
